Improving static analyses of C programs with conditional predicates
نویسندگان
چکیده
منابع مشابه
Analyses and Validation of Conditional Dependencies with Built-in Predicates
This paper proposes a natural extension of conditional functional dependencies (cfds [14]) and conditional inclusion dependencies (cinds [8]), denoted by cfds and cinds, respectively, by specifying patterns of data values with 6=, <,≤, > and ≥ predicates. As data quality rules, cfds and cinds are able to capture errors that commonly arise in practice but cannot be detected by cfds and cinds. We...
متن کاملStatic Analysis of Lockless Microcontroller C Programs
Concurrently accessing shared data without locking is usually a subject to race conditions resulting in inconsistent or corrupted data. However, there are programs operating correctly without locking by exploiting the atomicity of certain operations on a specific hardware. In this paper, we describe how to precisely analyze lockless microcontroller C programs with interrupts by taking the hardw...
متن کاملFunctional Logic Programs with Dynamic Predicates
In this paper we propose a new concept to deal with dynamic predicates in functional logic programs. The definition of a dynamic predicate can change over time, i.e., one can add or remove facts that define this predicate. Our approach is easy to use and has a clear semantics that does not depend on the particular (demand-driven) evaluation strategy of the underlying implementation. In particul...
متن کاملConstructing Logic Programs with Higher-Order Predicates
This paper proposes a logic programming approach based on the application of a system of higher-order predicates put at disposal within ordinary logic programming languages such as prolog. These higher-order predicates parallel the higher-order functionals or combinators which form an established part of contemporary functional programming methodology. The suggested toolbox of higher-order pred...
متن کاملStatic Analyses for Eliminating Unnecessary Synchronization from Java Programs
This paper presents and evaluates a set of analyses designed to reduce synchronization overhead in Java programs. Monitor-based synchronization in Java often causes significant overhead, accounting for 5-10% of total execution time in our benchmark applications. To reduce this overhead, programmers often try to eliminate unnecessary lock operations by hand. Such manual optimizations are tedious...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Science of Computer Programming
سال: 2016
ISSN: 0167-6423
DOI: 10.1016/j.scico.2015.11.011